import React from 'react'
import { Button, Input, Form,Notify } from 'react-vant'
import axios from 'axios'
import { useDispatch } from 'react-redux'
import { useNavigate } from 'react-router-dom'
export default () => {
  const [form] = Form.useForm()
  const dispatch = useDispatch();
  const navigate = useNavigate()
  const onFinish = values => {
    axios.post('/api/login', values).then(resp => {
      const { code, data, message } = resp.data;
      if(code === 200) {
        Notify.show({ type: 'success', message });
        dispatch({ type: 'updateUserInfo', payload: data.userInfo });
        localStorage.setItem('token', data.token);
        navigate('/')
      } else {
        Notify.show({ type: "danger", message })
      }
    })
  }

  return (
    <Form
      form={form}
      onFinish={onFinish}
      footer={
        <div style={{ margin: '16px 16px 0' }}>
          <Button round nativeType='submit' type='primary' block>
            提交
          </Button>
        </div>
      }
    >
      <Form.Item
        tooltip={{
          message:
            'A prime is a natural number greater than 1 that has no positive divisors other than 1 and itself.',
        }}
        intro='确保这是唯一的用户名'
        rules={[{ required: true, message: '请填写用户名' }]}
        name='username'
        label='用户名'
      >
        <Input placeholder='请输入用户名' />
      </Form.Item>
      <Form.Item
        rules={[{ required: true, message: '请填写密码' }]}
        name='password'
        label='密码'
      >
        <Input placeholder='请输入密码' />
      </Form.Item>
    </Form>
  )
}
